More and more mission-critical applications are being implemented using network-accessible services, such as the kinds of virtualized computing services, storage services and the like which may be provided using the resources of provider networks or public cloud environments. Virtualized computing services, for example, may enable clients to utilize essentially unlimited amounts of compute power for their applications, with additional resources being automatically deployed as the application workload grows. Similarly, database and storage services may allow clients to store vast amounts of data using fast high-availability configurations.
A number of different types of data models may be supported by network-accessible services implemented within provider networks. In some cases, for example, relational data models may be used, while in other cases, key-value or “noSQL” models may be used. Services that enable clients to store large unstructured objects (e.g., as collections of bytes that are typically opaque to the service provider, with no requirements for schemas) represent another popular alternative. For example, some object storage services may allow clients to create individual objects that may reach terabytes in size, and access the objects using simple web services requests (such as “get”, “put”, and the like) directed to respective unique URLs designated for the objects.
In many cases, unstructured data items stored at a network-accessible service may be processed for so-called “big data” analytics applications, machine learning applications and the like. Large unstructured objects may be retrieved from the service to a set of computing platforms where a particular analytics application is to be executed; in some scenarios, however, only a relatively subset of the contents of the object may actually be required for the application. Enabling customers of object storage services to reduce the amount of data that has to be transferred for processing in a customized, application-specific manner, while still providing the benefits associated with web-services-based access to large unstructured data items, remains a non-trivial technical challenge.
While embodiments are described herein by way of example for several embodiments and illustrative drawings, those skilled in the art will recognize that embodiments are not limited to the embodiments or drawings described. It should be understood, that the drawings and detailed description thereto are not intended to limit embodiments to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words “include,” “including,” and “includes” mean including, but not limited to. When used in the claims, the term “or” is used as an inclusive or and not as an exclusive or. For example, the phrase “at least one of x, y, or z” means any one of x, y, and z, as well as any combination thereof.